3 1 직접풀어보세요. | ✅저자: 이유정(박사)
📘 비교 연산자 📝 문제 1] 다음 코드의 출력 결과를 예상해보세요.
a = 7
b = 3
c = 10
result = (a * 2 > c) and (b + 4 == a)
print("비교 결과:", result)
✅ 정답: True
🔍 해설:
a * 2 > c
→ 7 * 2 > 10
→ 14 > 10
→ True
b + 4 == a
→ 3 + 4 == 7
→ 7 == 7
→ True
and 연산자는 두 조건이 모두 True일 때만 전체가 True가 됩니다.
따라서 결과는 True
📘 논리 연산자 📝 문제 2] 짝수 판별 (논리 판단) 예상되는 출력결과는 무엇인가요?
x = 15
is_even = x % 2 == 0
print(is_even)
✅ 정답: False
🔍 해설:
15 % 2 == 0
→ 1 == 0
→ False
📝 문제 3] not 연산자
value = 12
check = not (value > 10)
print(check)
✅ 정답: False
🔍 해설:
not True → False
📘 조건문 (if
, if-else
, elif
)
📝 문제 4] 사용자로부터 정수를 하나 입력받아 다음 조건에 따라 메시지를 출력하는 프로그램을 작성하세요.
- 90 이상이면 "A등급"
- 80 이상 90 미만이면 "B등급"
- 70 이상 80 미만이면 "C등급"
- 그 외에는 "F등급"
단, 입력값이 0보다 작으면
"잘못된 입력입니다."
를 출력하세요.
🖨️ 출력예시: 95입력
점수를 입력하세요: 95
A등급
✅ 정답:
score = int(input("점수를 입력하세요: "))
if score < 0:
print("잘못된 입력입니다.")
elif score >= 90:
print("A등급")
elif score >= 80:
print("B등급")
elif score >= 70:
print("C등급")
else:
print("F등급")
🔍 해설:
먼저 if score < 0:
조건으로 잘못된 입력을 체크합니다.
elif
구문은 순차적으로 조건을 검사하며 처음 참이 되는 조건에서 실행이 멈춥니다.
else
는 위의 어떤 조건도 맞지 않을 경우 실행됩니다.
📘 in 연산자 활용 📝문제 5] "python"문자에서 "t" 와 "z" 글자가 있는지 확인하여 True, False를 반환 하는 코드를 작성하세요.
✨힌트:
문자열 내 포함 여부를 in
으로 판단
✅ 정답:
word = "python"
print("t" in word)
print("z" in word)
🖨️ 출력결과:
True
False
📘 사용자 입력 오류 처리 📝문제 6] 사용자에게 입력받은 글자가 숫자인지 아닌지 판별하는 코드를 작성하세요.
✨힌트:
isdigit( ) 함수는 문자열이 0~9 숫자로만 구성되어 있으면 → True
를 반환합니다.
✅ 정답:
num = input("숫자를 입력하세요: ")
if num.isdigit():
print("숫자입니다.")
else:
print("숫자가 아닙니다.")
📘 날짜와 시간 활용 📝 문제 7] 현재 날짜와 시간을 기준으로 다음 조건에 따라 메시지를 출력하는 프로그램을 작성하세요. 오전(0~11시)이면 "좋은 아침입니다!" 정오(12시)이면 "점심시간입니다!" 오후(13~17시)이면 "좋은 오후입니다!" 저녁(18시 이후)이면 "좋은 저녁입니다!" 또한, 현재 날짜가 주말(토요일 또는 일요일)이라면 추가로 "오늘은 주말입니다."를 출력하세요.
🖨️ 예시 출력 결과 (예: 일요일 10시일 경우):
좋은 아침입니다!
오늘은 주말입니다.
✅ 정답:
import datetime
now = datetime.datetime.now()
hour = now.hour
weekday = now.weekday() # 월=0, ..., 일=6
# 시간대에 따른 메시지
if hour < 12:
print("좋은 아침입니다!")
elif hour == 12:
print("점심시간입니다!")
elif hour <= 17:
print("좋은 오후입니다!")
else:
print("좋은 저녁입니다!")
# 주말 확인
if weekday >= 5: # 5=토요일, 6=일요일
print("오늘은 주말입니다.")
🔍 해설:
datetime.datetime.now()
→ 현재 날짜와 시간을 가져옴
now.hour
→ 현재 시간(시) 추출
now.weekday()
→ 현재 요일(0~6)을 정수로 반환 (0=월요일, 6=일요일)
조건문을 통해 시간대별 인사와 주말 여부를 판단
📝 문제 8] datetime은 어떤 객체 타입인지 출력하는 코드를 작성하세요.
🖨️ 출력결과 <class datetime.datetime>
✅ 정답:
import datetime
now = datetime.datetime.now()
print(type(now))
📝 문제 9] 현재 날짜(datetime
)를 기준으로 다음 조건에 따라 계절을 출력하고, 추가로 날짜가 상반기(1~6월)인지, 하반기(7~12월)인지도 함께 출력하는 프로그램을 작성하세요.
🖨️ 예시 출력 결과 (예: 5월일 경우):
현재는 봄입니다.
지금은 상반기입니다.
✅ 정답:
import datetime
now = datetime.datetime.now()
month = now.month
# 계절 판별
if 3 <= month <= 5:
print("현재는 봄입니다.")
elif 6 <= month <= 8:
print("현재는 여름입니다.")
elif 9 <= month <= 11:
print("현재는 가을입니다.")
else:
print("현재는 겨울입니다.")
# 상반기 / 하반기 판별
if 1 <= month <= 6:
print("지금은 상반기입니다.")
else:
print("지금은 하반기입니다.")
📝 문제10] datetime
모듈을 활용하여 현재 날짜와 시간(년, 월, 일, 시, 분, 초)를 출력하는 프로그램을 작성하세요.
출력 형식은 다음과 같으며, format()
함수를 사용하여 출력하도록 하세요.
🖨️ 예시 출력 결과:
2025년 5월 4일 14시 37분 15초
✨힌트:
datetime.datetime.now()
를 사용하여 현재 시간 객체를 얻습니다.
now.year
, now.month
등의 속성을 이용하여 연도, 월, 일 등을 추출합니다. 문자열 포맷팅에는 .format()
을 사용합니다.
✅ 정답:
import datetime
# 현재 날짜/시간을 구합니다.
now = datetime.datetime.now()
# 출력합니다.
print("{}년 {}월 {}일 {}시 {}분 {}초".format(
now.year,
now.month,
now.day,
now.hour,
now.minute,
now.second
))
📝 문제11] datetime
모듈을 활용하여 현재 시간이 12시보다 작으면 오전으로 12시 이상이면 오후로 출력하는 프로그램을 작성하세요.
출력 형식은 다음과 같으며, format()
함수를 사용하여 출력하도록 하세요.
✅ 정답:
# 날짜/시간과 관련된 기능을 가져옵니다.
import datetime
# 현재 날짜/시간을 구합니다.
now = datetime.datetime.now()
# 오전 구분
if now.hour < 12: # 현재 시간이 12시보다 작으면 → 오전
print("현재 시각은 {}시로 오전입니다!".format(now.hour))
# 오후 구분
if now.hour >= 12: # 현재 시간이 12시 이상이면 → 오후
print("현재 시각은 {}시로 오후입니다!".format(now.hour))
📝 문제12] datetime
모듈을 활용하여 현재계절을 알아보는 결과를 출력하세요. 3월~5월은 봄으로, 6월~8월은 여름으로 9월~11월은 가을 12월~1월은 겨울로 조건문을 활용하여, format()
함수를 사용하여 출력하도록 하세요.
🖨️ 예시 출력 결과:
이번 달은 5월로 봄입니다!
✅ 정답:
# 날짜/시간과 관련된 기능을 가져옵니다.
# 현재 월(month)을 기준으로 계절(봄, 여름, 가을, 겨울)을 판단하여 출력하는 코드
import datetime
# 현재 날짜/시간을 구합니다.
now = datetime.datetime.now()
# 봄 구분
if 3 <= now.month <= 5: # 3, 4, 5월이면 봄으로 출력
print("이번 달은 {}월로 봄입니다!".format(now.month))
# 여름 구분
if 6 <= now.month <= 8: # 6, 7, 8월이면 여름으로 출력
print("이번 달은 {}월로 여름입니다!".format(now.month))
# 가을 구분
if 9 <= now.month <= 11: # 9, 10, 11월이면 가을로 출력
print("이번 달은 {}월로 가을입니다!".format(now.month))
# 겨울 구분
if now.month == 12 or 1 <= now.month <= 2: #12,1,2월이면 겨울로 출력
print("이번 달은 {}월로 겨울입니다!".format(now.month))
</> 코드를 짧게 줄이면:
# 이 코드를 간결하게 변경
import datetime
now = datetime.datetime.now()
month = now.month
if 3 <= month <= 5:
season = "봄"
elif 6 <= month <= 8:
season = "여름"
elif 9 <= month <= 11:
season = "가을"
else:
season = "겨울"
print("이번 달은 {}월로 {}입니다!".format(month, season))